package com.ruoyi.auth.service;

import com.ruoyi.auth.domain.ClassStudent;

import java.util.List;

/**
 * 班级学员明细Service接口
 *
 * @author WorrilessGo
 * @date 2025-09-24
 */
public interface IClassStudentService
{
    /**
     * 查询班级学员明细
     *
     * @param classStudentId 班级学员明细主键
     * @return 班级学员明细
     */
    public ClassStudent selectClassStudentByClassStudentId(String classStudentId);

    /**
     * 查询班级学员明细列表
     *
     * @param classStudent 班级学员明细
     * @return 班级学员明细集合
     */
    public List<ClassStudent> selectClassStudentList(ClassStudent classStudent);

    /**
     * 新增班级学员明细
     *
     * @param classStudent 班级学员明细
     * @return 结果
     */
    public int insertClassStudent(ClassStudent classStudent);

    /**
     * 修改班级学员明细
     *
     * @param classStudent 班级学员明细
     * @return 结果
     */
    public int updateClassStudent(ClassStudent classStudent);

    /**
     * 批量删除班级学员明细
     *
     * @param classStudentIds 需要删除的班级学员明细主键集合
     * @return 结果
     */
    public int deleteClassStudentByClassStudentIds(String[] classStudentIds);

    /**
     * 删除班级学员明细信息
     *
     * @param classStudentId 班级学员明细主键
     * @return 结果
     */
    public int deleteClassStudentByClassStudentId(String classStudentId);

    /**
     * 根据班级ID查询所有相关的报名信息和学员信息
     * lqx
     * @param trainingClassId 班级ID
     * @return 包含报名信息和学员信息的列表
     */
//    public List<ClassStudentVO> getClassStudents(String trainingClassId);


    /**
     * 通过班级id获取学员id
     * lqx
     * */
    public List<String> selectStudentIdsByClassId(String classId);

    /**
     * 通过班级id和学员id查询
     * @param studentId
     * @param trainingClassId
     * @return
     */
    public List<ClassStudent> selectClassStudentByClassStudentIdAndClassId(String studentId, String trainingClassId);
}
